/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.cvut.fel.taskpro.data.imanager;

import cz.cvut.fel.taskpro.data.entity.AssignmentSubmit;
import cz.cvut.fel.taskpro.data.entity.VersionFile;
import java.util.List;
import javax.ejb.Local;

/**
 * This local interface specify database responsible action of data manager,
 * which is responsible for working with versions.
 *
 * @author Tom
 * @version 1.0.0. beta
 */
@Local
public interface IVersionData {
    /**
     * This method find in database all version which belongs  to assignmentSubmit 
     * in parameter.
     * @param assignmentSubmit submitted assignment which has version file to find.
     * @return <code>List</code> of all version which belongs  to assignmentSubmit 
     * in parameter. Ordered by numberOfVersion ascendant. If no result is found then
     * empty list is returned.
     */
    public List<VersionFile> getAllVersionFileByAssignmentSubmit(AssignmentSubmit assignmentSubmit);
    /**
     * This method update version in parameter to database.
     * @param versionFileToUpdate version file to update to DB.
     */
    public void updateVersionFile(VersionFile versionFileToUpdate);
}
